package adventure.vocation;

import adventure.commands.skills.Skill;
import player.Player;

/**
 *
 * @author Michael Hanns
 *
 */
public interface Vocation {

    public int getID();

    public String getName();

    public String getDescription();

    public int getBaseAttack();

    public int getBaseDefence();

    public int getBaseIntel();

    public int getBaseSpeed();

    public int getBaseLuck();

    public double getChanceAttack();

    public double getChanceDefence();

    public double getChanceIntel();

    public double getChanceSpeed();

    public double getChanceLuck();

    public boolean incAttack();

    public boolean incDefence();

    public boolean incIntelligence();

    public boolean incSpeed();

    public boolean incLuck();

    public boolean learnSkill(Skill skill);

    public void forgetSkill(int id);

    public boolean knowsSkill(int level, int skillNo);

    public boolean knowsSkill(int playerLvl, String command, boolean admin);

    public String performSkill(Player player, String[] commandArgs);

    public String newSkillsLearned(int level);
   
    public String[] getSkillsKnown(int level);
    
    public String getSkillInfo(String skillName);
    
    public Vocation cloneThis();
}
